package com.ruoyi.lab.service;

import com.ruoyi.lab.domain.JacTestOutline;
import com.ruoyi.lab.domain.JacTestProject;
import com.ruoyi.lab.domain.JacTestResult;

import java.util.List;
import java.util.Map;

/**
 * projectService接口
 * 
 * @author ruoyi
 * @date 2021-04-06
 */
public interface IJacTestProjectService 
{
    /**
     * 查询project
     * 
     * @param id projectID
     * @return project
     */
    public JacTestProject selectJacTestProjectById(Long id);

    /**
     * 查询project列表
     * 
     * @param jacTestOutline project
     * @return project集合
     */
    public List<JacTestProject> selectJacTestProjectList(JacTestOutline jacTestOutline);

    /**
     * 新增project
     * 
     * @param jacTestProject project
     * @return 结果
     */
    public String insertJacTestProject(Map<String, List<JacTestProject>> jacTestProject);

    /**
     * 修改project
     * 
     * @param jacTestProject project
     * @return 结果
     */
    public String updateJacTestProject(Map<String, List<JacTestProject>> jacTestProject);

    /**
     * 批量删除project
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public String deleteJacTestProjectByIds(String ids);

    /**
     * 删除project信息
     * 
     * @param id projectID
     * @return 结果
     */
    public int deleteJacTestProjectById(Long id);
    public String submitJacTestProjectById(String ids);

    /**
     * 审核通过project
     *
     * @param
     * @return project
     */
    public String examineJacTestProjectById(Map<String, List<JacTestProject>> jacTestProject);

    /**
     * 二次审核通过project
     *
     * @param id projectID
     * @return project
     */
    /*    public int examinenewJacTestProjectById(Long id);*/

    /**
     * 审核失败project
     *
     * @param
     * @return project
     */
    public String failJacTestProjectById(Map<String, List<JacTestProject>> jacTestProject);

    /**
     * 二次审核失败project
     *
     * @param id projectID
     * @return project
     */
    /*    public int failnewJacTestProjectById(Long id);*/

    /**
     * 提交总体计划project
     *
     * @param jacTestProjectList 计划列表
     * @return project
     */
    public String submitSelectedJacTestProjectById(List<JacTestProject> jacTestProjectList);

    /**
     * 审核总体计划通过project
     *
     * @param jacTestProject projectID
     * @return project
     */
/*    public int examineallJacTestProjectById(JacTestProject jacTestProject);*/

    /**
     * 结果审核通过project
     *
     * @param
     * @return project
     */
    public String examineResultJacTestProjectById(Map<String, List<JacTestProject>> jacTestProject);

    /**
     * 结果审核失败project
     *
     * @param
     * @return project
     */
    public String failResultJacTestProjectById(Map<String, List<JacTestProject>> jacTestProject);
    public String updateJacTestProjectExperimentStage(Map<String, List<JacTestProject>> jacTestProject);
    public String supplierExamineJacTestProjectById(Map<String, List<JacTestProject>> jacTestProject);
    public String supplierFailJacTestProjectById(Map<String, List<JacTestProject>> jacTestProject);
    public String backJacTestProjectToCreate(String ids);
}
